package com.nas.crocus.controller;

import java.util.ArrayList;
import java.util.Collection;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.nas.crocus.domain.Evento;
import com.nas.crocus.domain.Pasajero;
import com.nas.crocus.dto.ItemDto;
import com.nas.crocus.service.EventoService;
import com.nas.crocus.service.PasajeroService;


@Controller
@RequestMapping(value = "/page/evento/{eventoId}/pasajero/{pasajeroId}/servicio")
public class ServicioPasajeroPageController {
    
    @Autowired
    private EventoService eventoService;
    
    @Autowired
    private PasajeroService pasajeroService;
    
    @Resource(name="menu")
    private Collection<ItemDto> menu;
    
    @RequestMapping(method = RequestMethod.GET)
    public String alta(@PathVariable Long eventoId, @PathVariable Long pasajeroId, Model model) {
        
        model.addAttribute("menu", menu);
        model.addAttribute("breadcrumb", getBreadcrumb(eventoService.buscar(eventoId), pasajeroService.buscar(pasajeroId)));
        model.addAttribute("eventoId", eventoId);
        model.addAttribute("pasajeroId", pasajeroId);

        //Collection <ItemDto> breadcrumb = getBreadcrumb();
        return "servicioPasajeroFormulario";
    }
    

    private Collection<ItemDto> getBreadcrumb(Evento evento, Pasajero pasajero){
        ArrayList<ItemDto> breadcrumb = new ArrayList<ItemDto>();
        ItemDto item = new ItemDto();
        item.setDescripcion("Eventos");
        item.setUrl("/app/page/evento");
        breadcrumb.add(item);
        
        item = new ItemDto();
        item.setDescripcion(evento.getNombre());
        item.setUrl("/app/page/evento/edicion/id/"+evento.getId());
        breadcrumb.add(item);
        
        item = new ItemDto();
        item.setDescripcion(pasajero.getPersona().getApellido() + ", " + pasajero.getPersona().getNombre());
        item.setUrl("/app/page/evento/" + evento.getId() + "/pasajero/edicion/id/" +pasajero.getId()  );
        breadcrumb.add(item);
        
        return breadcrumb;
    }
}
